#ifndef TILE_ATTRIBUTE_PORTAL_H_INCLUDED_45359440
#define TILE_ATTRIBUTE_PORTAL_H_INCLUDED_45359440
//-----------------------------------------------------------------------------
// Copyright (c) 2011 David Waby
// Initially created on 02/11/2011
//-----------------------------------------------------------------------------

#include "TileAttribute.h"
       
//-----------------------------------------------------------------------------
class TileAttributePortal : public TileAttribute
{
public:
									TileAttributePortal();
	virtual							~TileAttributePortal();

	virtual void					OnEnter();
	virtual void					Use();
	virtual void					OnExit();

	unsigned int					GetAttributeType() const;

	virtual void					Serialise(Json::Value * o_root) const;
	virtual void					Deserialise(Json::Value const * i_root);

protected:

private:

	int								m_targetMapID;
	Point2							m_targetTilePosition;

									TileAttributePortal(const TileAttributePortal &rhs);
	TileAttributePortal&			operator = (const TileAttributePortal &rhs);
};

//-----------------------------------------------------------------------------
#endif // TILE_ATTRIBUTE_PORTAL_H_INCLUDED_45359440